1. Field of the Invention
The field of the invention is data processing, or, more specifically, methods, apparatus, and products for providing policy-based application services to an application running on a computing system.
2. Description of Related Art
The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely complicated devices. Today's computers are much more sophisticated than early systems such as the EDVAC. Computer systems typically include a combination of hardware and software components, application programs, operating systems, processors, buses, memory, input/output devices, and so on. As advances in semiconductor processing and computer architecture push the performance of the computer higher and higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
Although software applications have evolved significantly over the last few years, some facets of application architecture have remained the same. In particular, software architects still design applications to use a fixed set of application services after the application is installed. That is, the application utilizes the same algorithm to provide each type of service used by the application. In an application that utilizes application services to perform various computational algorithms on matrices, for example, the application may utilize the same algorithm to perform single-precision matrix multiplication, the same algorithm to perform double-precision matrix multiplication, the same algorithm to perform complex single-precision matrix multiplication, the same algorithm to perform complex double-precision matrix multiplication, and so on. Often, however, one application service utilizes computer resources in one environment more efficiently than another application service of the same service type. Continuing with the example above, one application service that performs double-precision matrix multiplication may utilize computer resources more efficiently in a computing system with large amounts of free memory than another application service that performs double-precision matrix multiplication. Because current applications use the same application services without regard to computer resource utilization, overall application performance and system performance often suffer. Readers will therefore appreciate that room for improvement exists in the manner in which applications use application services.